package thread;


public class Bank {
    private int account=20000;//银行账号上有20000

    //取钱的方法
    public synchronized boolean getMoney(int money){
        //查询账号余额
        int account=getAccount();
        //判断余额是否充足
        if (account>=money){
            account=account-money;//计算取款后的新余额
            Thread.yield();//主动让线程放弃本次剩余时间片。用于模式cpu时间片耗尽而发生线程切换
            saveAccount(account);//记录新的余额
            return true;//允许出钞
        }
        return  false;//拒绝出钞
    }
    //获取账号余额
    public  int getAccount(){
        return account;
    }
    public  void saveAccount(int account){
        this.account=account;
    }
}
